#!/usr/bin/env perl use strict; use warnings; while (my $init_line = ) { my $neg_class_line = $init_line; my $neg_assert_line = $init_line; $neg_class_line =~ s/,([^,]*)$/$1/; $neg_assert_line =~ s/,(?!.*,)//; print 'Initial line: ', $init_line; print 'Negated class: ', $neg_class_line; print 'Negative assertion: ', $neg_assert_line; print '-' x 40, "\n"; } __DATA__ 21112,/vol/voly,blx 21113,/vol/eng,blz 21114,/vol/eng,file #### Initial line: 21112,/vol/voly,blx Negated class: 21112,/vol/volyblx Negative assertion: 21112,/vol/volyblx ---------------------------------------- Initial line: 21113,/vol/eng,blz Negated class: 21113,/vol/engblz Negative assertion: 21113,/vol/engblz ---------------------------------------- Initial line: 21114,/vol/eng,file Negated class: 21114,/vol/engfile Negative assertion: 21114,/vol/engfile ---------------------------------------- #### W,X,Y,Z W,X,YZ W,XYZ WXYZ #### Initial line: W,X,Y,Z Negated class: W,X,YZ Negative assertion: W,X,YZ ---------------------------------------- Initial line: W,X,YZ Negated class: W,XYZ Negative assertion: W,XYZ ---------------------------------------- Initial line: W,XYZ Negated class: WXYZ Negative assertion: WXYZ ---------------------------------------- Initial line: WXYZ Negated class: WXYZ Negative assertion: WXYZ ----------------------------------------