perl: Help with commenting out specific lines

Hi
I'm trying to comment out specific lines from /etc/fstab file, for simplicity I'm trying to use perl one liner but it errors out,

Below is the Perl oneliner I'm using,

perl -wlp -i -e 'BEGIN{$flag=0}if (!/root/) && (!/boot/) && (!/tmpfs/) ) {$flag =1;} elsif (/^$/) {$flag=0} if ($flag) {s/^/#/;}' /tmp/fstab

# cat /tmp/fstab
/dev/rootvg/root        /                       ext4    defaults        1 1
/dev/rootvg/home        /home                   ext4    defaults        1 2
/dev/rootvg/usr         /usr                    ext4    defaults        1 2
/dev/rootvg/tmp         /tmp                    ext4    defaults        1 2
/dev/rootvg/opt         /opt                    ext4    defaults        1 2
/dev/rootvg/var         /var                    ext4    defaults        1 2
/dev/rootvg/core        /var/core               ext4    defaults        1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/rootvg/swap        swap                    swap    defaults        0 0
/dev/testvg/logslv /logs ext4 defaults 1 2
/dev/testvg/backuplv /backup ext4 defaults 1 2
/dev/testvg/dbcachelv /dbcache ext4 defaults 1 2

Error:

syntax error at ./fstab.pl line 2, near "i -e "
Execution of ./fstab.pl aborted due to compilation errors.

---------- Post updated at 05:10 PM ---------- Previous update was at 02:29 PM ----------

Just an fyi...I'm able to comment/uncomment if I grep for just one word but not for multiple words, it comments out any line not containing 'root' word in the file /tmp/fstab...for eg..

perl -wlp -i -e 'BEGIN{$flag=0}if (!/root/) {$flag =1;} elsif (/^$/) {$flag=0} if ($flag) {s/^/#/;}'

Try:

perl -wlp -i -e 'BEGIN{$flag=0}if (!/root|boot|tmpfs/) {$flag =1;} elsif (/^$/) {$flag=0} if ($flag) {s/^/#/;}' /tmp/fstab

I would use (btw):

perl -pi -e 's/^/#/ if !/root|boot|tmpfs|^$/' /tmp/fstab

Thanks much, below code worked like charm,

perl -pi -e 's/^/#/ if !/root|boot|tmpfs|^$/' /tmp/fstab