Skip to main content

What are Barewords and how they disturb a PERL program execution?


If there is a symbol in a string that we are going to print or use further in a perl program but when we execute it the interpreter or compiler is not getting correct meaning of that string . In this condition compiler gives a error ‘Missing operator before’ ”your symbol “.
A bareword is series of characters outside of a string that PERL doesn’t recognize.
We can also take a example to understand the mean of bareword

#!/usr/bin/perl
use warnings;
print  255 , “\n”;
print  0377 , “\n”;
print   0b11111111, “\n”;
print  0xFF , “\n”;

The output of each print statement is
255
255
255
255

But if we turn the code of above program as :-

#!/usr/bin/perl
use warnings;
print  0378 , “\n”;
print   0b11111112, “\n”;
print  0xFG , “\n”;

Illegal octal digit ‘8’ at line 3 , at the end of line.
Illegal binary digit ‘2’ at line 4 , at the end of line.
Bareword found where operator expected at line 5 , near “0xfG”
(Missing operator before G)
Syntax error at line at line 5 , near “0xfG”.

Comments

  1. Its Perl not PERL
    and don't forget to use strict pragma in your script.

    ReplyDelete

Post a Comment

Please share your experience.....

Popular posts from this blog

error: db5 error(11) from dbenv->open: Resource temporarily unavailable

If rpm command is not working in your system and it is giving an error message( error: db5 error(11) from dbenv->open: Resource temporarily unavailable ). What is the root cause of this issue? How to fix this issue?   just a single command- [root@localhost rpm]# rpm --rebuilddb Detailed error message- [root@localhost rpm]# rpm -q firefox ^Cerror: db5 error(11) from dbenv->open: Resource temporarily unavailable error: cannot open Packages index using db5 - Resource temporarily unavailable (11) error: cannot open Packages database in /var/lib/rpm ^Cerror: db5 error(11) from dbenv->open: Resource temporarily unavailable error: cannot open Packages database in /var/lib/rpm package firefox is not installed [root@localhost rpm]# RPM manage a database in which it store all information related to packages installed in our system. /var/lib/rpm, this is directory where this information is available. [root@localhost rpm]# cd /var/lib/rpm ...

Failed to get D-Bus connection: Operation not permitted

" Failed to get D-Bus connection: Operation not permitted " - systemctl command is not working in Docker container. If systemctl command is not working in your container and giving subjected error message then simple solution of this error is, create container with -- privileged option and also provide init file full path  /usr/sbin/init [root@server109 ~]# docker container run -dit --privileged --name systemctl_not_working_centos1 centos:7 /usr/sbin/init For detailed explanation and understanding I am writing more about it, please have look below. If we have a daemon based program(httpd, sshd, jenkins, docker etc.) running inside a container and we would like to start/stop or check status of daemon inside docker then it becomes difficult for us to perform such operations , because by default systemctl and service  commands don't work inside docker. Normally we run below commands to check services status in Linux systems. [root@server109 ~]# systemctl status ...

error: src refspec main does not match any

$ git push -u origin main error: src refspec main does not match any error: failed to push some refs to 'https://gitlab.com/jay2tinku/my-new-project.git' If you get such error while performing any git operation. This means you have to check your default branch name. From last few git versions by default branch name is main instead of master . It never means that it will always be main/master . Normally at the time of installation we have to configure that but most of the time we ignore that and go with default options. Simple fix of this error is :- git push -u origin master or git push -u origin main Please have a look on below scenario for complete understanding $ mkdir my-new-project $ cd  my-new-project $ git status $ git init $ cat > test.txt My first line!!! $  git status $ git remote add origin https://gitlab.com/jay2tinku/my-test-project.git $ git add . $ git status $ git commit . -m "Intial push commit" $ git push -u origin main error: src...